/**
* Copyright @ 2023 iAuto (Shanghai) Co., Ltd.
* All Rights Reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are NOT permitted except as agreed by
* iAuto (Shanghai) Co., Ltd.
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*/

export interface FormValues {
  carModel?: string;
  skillName?: string;
  socVersion?: string;
  status?: string;
  reason?: string;
}

export type CartypeResultItem = {
  unpublishTotal: number;
  detail: any;
  seriesCode: string;
  label: string;
  seriesName: string;
  value: string;
  unpublishCount: number;
  models: any;
};

export type abilityItem = {
  category: string,
  description: string,
  fileId?: any[],
  isNew: boolean,
  modelCode: string,
  role: any[],
  seriesCode: string,
  skillId: string | number,
  skillName: string,
  skillVersionId: string | number,
  socVersion: string | number,
  status: string | number,
  type: string,
  version: string | number,
  backDetail?: any,
  socId: number,
  isDelete: boolean;
  isChange: boolean;
}

export type permission = {
  skillVersionId: string,
  role: any[]
}

export type abilityPushlist = {
  modelCode: string,
  seriesCode: string,
  socVersion: string,
  // permissions: permission[]
}

export type offList = {
  modelCode: string,
  seriesCode: string,
  socVersion: string | number | undefined,
}

export type importExcelParams = {
  carModel: string;
  socVersion: string;
  file: any;
};

export type ModalType = {
  actionType: string;
  visible: boolean;
  content?: React.ReactNode | null;
};

export interface ExpandedDataType {
  operator: string;
  operationAt: string;
  operationType: string;
  reason: string;
}

export type StatusDataType = {
  importUserName: string;
  importAt: number;
  seriesCode: string;
  socVersion: string;
  status: string;
}
